package main

import "fmt"

func main() {
	// 创建管道
	ch := make(chan int, 10)
	// 循环写入
	for i := 0; i < 10; i++ {
		ch <- i
	}

	//for i := 0; i < 10; i++ {
	//	fmt.Println(<-ch)
	//}

	// 关闭管道
	close(ch)

	// for range循环遍历管道的值
	for value := range ch {
		fmt.Println(value)
	}
	// 对于for range如果不关闭通道，会现一个deadlock的死锁错误，也就是说我们需要关闭管道
	// 对于fori可以不用关闭通道

}
